/* plot.cpp */

#include <dodo_plot/widget/plot.h>

namespace dodo_plot
{

void Plot::set_line_color(const Color& color)
{
	data_p_->set_line_color(color);
}

void Plot::set_line_width(double width)
{
	data_p_->set_line_width(width);
}

void Plot::draw(const Plotter& plotter) const
{
	data_p_->draw(plotter);
}

double Plot::width() const
{
	return data_p_->width();
}

double Plot::height() const
{
	return data_p_->height();
}

Position Plot::local_pos() const
{
	return data_p_->local_pos();
}

Plot::Plot(const Plot& orig)
	: data_p_(orig.data_p_)
{ 
	++orig.data_p_->use_count_; 
}

Plot::~Plot()
{
	if(--data_p_->use_count_ == 0)
		delete data_p_;
}


Plot& Plot::operator= (const Plot& orig)
{
	orig.data_p_->use_count_++;
	if(--data_p_->use_count_ == 0)
		delete data_p_;
	data_p_ = orig.data_p_;
	return *this;
}


//Plot_Data_Base



}
